#ifndef GAMEMAP_HH
#define GAMEMAP_HH

#include "../include/Room.hh"
#include <vector>

namespace Game {
    class GameMap {
    public:
        //Canonical Form
        GameMap();
        GameMap(const GameMap& other);
        GameMap& operator=(const GameMap& other);
        ~GameMap() = default;

        Room* getCurrentRoom() const;
        bool movePlayer(const std::string& direction);
        void printMap() const;
        bool isInBossRoom() const;

    private:
        std::vector<std::vector<Room>> rooms_;
        Room* currentRoom_;
        std::pair<int, int> playerPos_;
    };
}

#endif